package com.syh.jn.scm.dto.downstream.finance;

import lombok.Data;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * Date:2018/7/19
 * Author:Clown
 * 下游付款单MTO;
 */
@Data
public class DownPaymentBillMto implements Serializable {
  /**
   * 要修改的付款单id
   */
  @NotNull(message = "付款单id不能为空")
  private Long id;
  /**
   * 对账单id
   */
  @NotNull(message = "对账单id不能为空")
  private Long statementOfAccountId;
  /**
   * 我方开户行
   */
  @NotNull(message = "我方开户行不能为空")
  private String ourAccountBank;
  /**
   * 我方开户支行
   */
  @NotNull(message = "我方开户支行不能为空")
  private String ourAccountBranchBank;
  /**
   * 我方银行账号
   */
  @NotNull(message = "我方银行账号不能为空")
  private String ourAccountBankCode;
  /**
   * 我方地址省 市 区
   */
  private String ourArea;
  /**
   * 我方支行地址
   */
  private String ourBranchBankAddress;

  /**
   * 对方开户行
   */
  @NotNull(message = "对方开户行不能为空")
  private String otherPartyAccountBank;
  /**
   * 对方开户支行
   */
  @NotNull(message = "对方开户支行不能为空")
  private String otherPartyAccountBranchBank;
  /**
   * 对方银行账号
   */
  @NotNull(message = "对方银行账号不能为空")
  private String otherPartyAccountBankCode;
  /**
   * 对方地址省 市 区
   */
  private String otherPartyArea;
  /**
   * 对方支行地址
   */
  private String otherPartyBranchBankAddress;

  /**
   * 付款金额
   */
  @NotNull(message = "付款金额不能为空")
  @DecimalMin("0")
  private BigDecimal price;
  /**
   * 付款日期
   */
  @NotNull(message = "付款日期不能为空")
  private Long inputTimestamp;
  /**
   * 银行流水号
   */
  @NotNull
  private String bankStatement;
  /**
   * 经手人id
   */
  private Long brokerageId;
  /**
   * 备注
   */
  private String remark;
}
